Better handle auto-sensing of SD track files without -t on command line.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sat, 24 Apr 2004 03:32:35 +0000 (03:32 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sat, 24 Apr 2004 03:32:35 +0000 (03:32 +0000)
gpsbabel/magproto.c

index 9e65e791b918cfa76e163d4df989bba83cfcc5b2..829fc104d63b1139d204373c7e6fc2c34aeec77f 100644 (file)
@@ -444,6 +444,14 @@ retry:
        }
        if (strncmp(ibuf, "$PMGNTRK,", 7) == 0) {
                waypoint *wpt = mag_trkparse(ibuf);
+               /*
+                * Allow lazy allocation of track head.
+                */
+               if (trk_head == NULL) {
+                       trk_head = route_head_alloc();
+                       track_add_head(trk_head);
+               }
+
                route_add_wpt(trk_head, wpt);
        }
        if (strncmp(ibuf, "$PMGNRTE,", 7) == 0) {
@@ -1056,9 +1064,6 @@ mag_read(void)
        switch (global_opts.objective)
        {
                case trkdata:
-                       trk_head = route_head_alloc();
-                       track_add_head(trk_head);
-
                        if (!is_file) 
                                mag_writemsg("PMGNCMD,TRACK,2");